#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
using namespace std;

//class Solution {
//public:
//    string formatString(string str, vector<char>& arg) {
//        int pos = str.find("%s");
//        int index = 0;
//        while(pos!=string::npos)
//        {
//            str[pos] = arg[index++];
//            str.erase(pos + 1);
//            pos = str.find("%s", pos + 1);
//        }
//        if (index != arg.size())
//        {
//            str += arg[index++];
//        }
//        return str;
//    }
//};
//
//int main()
//{
//    Solution s;
//    vector<char> v = { 'B', 'D', 'F' };
//    cout << s.formatString("A%sC%sE", v);
//}



#include <iostream>
using namespace std;

//int main() {
//    string s;
//    int n;
//    cin >> s >> n;
//
//    int left = 0, right = n, maxCnt = 0, cnt = 0;
//    for (int i = 0; i < n; i++)
//    {
//        if (s[i] == 'C' || s[i] == 'G')
//            cnt++;
//    }
//
//    while (right < s.size())
//    {
//        if (s[right] == 'C' || s[right] == 'G')
//            cnt++;
//        if (s[left] == 'C' || s[left] == 'G')
//            cnt--;
//        maxCnt = max(cnt, maxCnt);
//        left++, right++;
//    }
//
//    left = 0, right = n, cnt = 0;
//
//    for (int i = 0; i < n; i++)
//    {
//        if (s[i] == 'C' || s[i] == 'G')
//            cnt++;
//    }
//
//    string ret;
//    if (cnt == maxCnt)
//    {
//        ret = s.substr(0, 5);
//        cout << ret;
//        return 0;
//    }
//
//    while (right < s.size())
//    {
//        if (s[right] == 'C' || s[right] == 'G')
//            cnt++;
//        if (s[left] == 'C' || s[left] == 'G')
//            cnt--;
//
//        left++, right++;
//        if (cnt == maxCnt)
//        {
//            ret = s.substr(left, 5);
//            cout << ret;
//            return 0;
//        }
//    }
//}
